Properties Override

Java Technologies - অ্যাপাচি অ্যান্ট (Apache ANT) Properties এবং Property ফাইল ব্যবস্থাপনা |
230
230

Apache ANT-এর Properties হল ভেরিয়েবল যা বিভিন্ন বিল্ড টাস্ক বা স্টেপে ব্যবহার করা হয়। এরা সহজেই প্রজেক্টের কনফিগারেশন, পাথ, ফাইল পাথ ইত্যাদি সংরক্ষণ করতে সহায়ক। অনেক সময় প্রজেক্টে ডিফল্ট প্রপার্টি থাকতে পারে, তবে ব্যবহারকারী চাইলে তাদের মান পরিবর্তন করতে পারেন। Properties Override এর মাধ্যমে আপনি সহজে পূর্বনির্ধারিত প্রপার্টি পরিবর্তন বা অতিক্রম করতে পারেন।


১. Properties কী?

ANT এ Properties মূলত ভেরিয়েবল যা বিল্ড প্রক্রিয়ার মধ্যে বিভিন্ন মান রাখতে এবং ব্যবহার করতে সাহায্য করে। এগুলি সাধারণত build.xml ফাইলে <property> ট্যাগের মাধ্যমে সেট করা হয়।

উদাহরণ:

<property name="output.dir" value="build"/>

এখানে, output.dir প্রপার্টি মান build


২. Properties Override করার পদ্ধতি

১. কমান্ড লাইন থেকে Properties Override

ANT প্রপার্টিগুলি কমান্ড লাইনে নির্দিষ্ট মান দিয়ে override করা যায়। এই পদ্ধতি দ্বারা, আপনি build.xml ফাইলে নির্দিষ্ট প্রপার্টি ছাড়া অন্য কোন মান সেট করতে পারবেন।

কমান্ড উদাহরণ:

ant -Doutput.dir=dist

এটি build.xml ফাইলে থাকা output.dir প্রপার্টির মান পরিবর্তন করে dist করে দিবে। কমান্ড লাইনে যেই প্রপার্টি ও মান উল্লেখ করা হয়, তা ঐ প্রকল্পের build.xml ফাইলে থাকা ডিফল্ট প্রপার্টির মানকে অতিক্রম (override) করবে।

build.xml উদাহরণ:

<project name="MyProject" basedir="." default="build">
    <property name="output.dir" value="build"/>

    <target name="build">
        <echo message="Output Directory: ${output.dir}"/>
    </target>
</project>

এটি ডিফল্টভাবে build ফোল্ডারকে output.dir হিসেবে ব্যবহার করবে। তবে, উপরের কমান্ডে আপনি output.dir=dist দিলে আউটপুট dist ফোল্ডারে হবে।

২. Property File থেকে Properties Override

অন্য একটি উপায় হল properties file ব্যবহার করে প্রপার্টি সেট করা, এবং সেই ফাইল থেকে প্রপার্টি রিড করে override করা।

প্রথমে একটি প্রপার্টি ফাইল তৈরি করুন:

myproperties.properties:

output.dir=dist

এখন, build.xml ফাইলে এটি ইমপোর্ট করুন এবং প্রপার্টি ব্যবহার করুন:

build.xml:

<project name="MyProject" default="build">
    <property file="myproperties.properties"/>

    <target name="build">
        <echo message="Output Directory: ${output.dir}"/>
    </target>
</project>

এখানে, output.dir এর মান myproperties.properties ফাইল থেকে আসবে এবং dist হবে।

৩. Default Property এবং Override

যদি আপনি build.xml ফাইলে একটি ডিফল্ট প্রপার্টি সেট করেন এবং পরে সেটি কমান্ড লাইন বা প্রপার্টি ফাইলের মাধ্যমে override করেন, তাহলে শেষে যে মান সেট করা হয় সেটিই ব্যবহার হবে

build.xml উদাহরণ:

<project name="MyProject" default="build">
    <property name="output.dir" value="build"/>

    <target name="build">
        <echo message="Output Directory: ${output.dir}"/>
    </target>
</project>

এখন যদি আপনি কমান্ড লাইনে প্রপার্টিটি override করেন:

ant -Doutput.dir=dist

তাহলে আউটপুট হবে:

Output Directory: dist

এটি দেখায় যে build.xml ফাইলে output.dir এর ডিফল্ট মান ছিল build, কিন্তু কমান্ড লাইনে -Doutput.dir=dist ব্যবহার করার ফলে এটি পরিবর্তিত হয়ে dist হয়েছে।


৩. Properties Override এর ক্ষেত্রে কিছু গুরুত্বপূর্ণ দিক

  1. Priority of Override:
    • যদি আপনি একাধিক উপায়ে (কমান্ড লাইন, প্রপার্টি ফাইল, বা build.xml) প্রপার্টি সেট করেন, তবে শেষে সেট করা মানটি সর্বাধিক অগ্রাধিকার পাবে
  2. Property Values in Nested Targets:
    • যদি কোন টার্গেটের মধ্যে প্রপার্টি ব্যবহৃত হয়, এবং ওই টার্গেটের বাইরে সেই প্রপার্টির মান পরিবর্তন করা হয়, তবে নতুন মানটি সব পরবর্তী টার্গেটে প্রভাব ফেলবে।
  3. Immutable Properties:
    • কিছু প্রপার্টি immutable থাকে, যেমন ANT এর অভ্যন্তরীণ কিছু প্রপার্টি। এগুলি আপনি override করতে পারবেন না, যেমন ant.file, ant.version ইত্যাদি। তবে, সাধারণত প্রজেক্টের প্রপার্টিগুলি আপনি freely override করতে পারবেন।

৪. উদাহরণ

নিচে একটি উদাহরণ দিয়ে দেখানো হলো কিভাবে প্রপার্টি override করা যায়:

build.xml:

<project name="OverrideExample" default="build">
    <property name="output.dir" value="build"/>
    
    <target name="init">
        <echo message="Initialization: ${output.dir}"/>
    </target>

    <target name="build" depends="init">
        <echo message="Building to directory: ${output.dir}"/>
    </target>
</project>

এখন যদি আপনি কমান্ড লাইনে এটি override করেন:

ant -Doutput.dir=dist build

তাহলে আউটপুট হবে:

Initialization: dist
Building to directory: dist

এটি প্রমাণ করে যে output.dir প্রপার্টির মান dist হয়েছে, যেটি কমান্ড লাইনের মাধ্যমে override করা হয়েছে।


সারসংক্ষেপ

  • ANT Properties Override আপনাকে প্রপার্টির মান পরিবর্তন করতে সাহায্য করে, যাতে প্রজেক্টের বিল্ড প্রক্রিয়া সহজে কাস্টমাইজ করা যায়।
  • Override করার জন্য তিনটি প্রধান পদ্ধতি:
    1. কমান্ড লাইন: -Dproperty=value
    2. প্রপার্টি ফাইল: .properties ফাইল ব্যবহার
    3. ডিফল্ট প্রপার্টি: build.xml ফাইলে প্রপার্টি সেট করা।
  • Override Priority: প্রপার্টির মানের পরিবর্তন করার সময়, শেষ মানটি সর্বোচ্চ অগ্রাধিকার পায়।
  • Immutable Properties: কিছু প্রপার্টি override করা যায় না।
common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion